import express from 'express';
import * as goldPostsController  from './goldPosts.controller';
import { fileInterceptor, fileProcessor } from './goldPosts.middleware';
import { authGuard, userGuard } from '../auth/auth.middleware';

const router = express.Router();

/**
 * 内容列表
 */
router.get('/goldPosts', goldPostsController.index);

/**
 * 获取产品
 */
router.get('/goldProduct', goldPostsController.indexProduct);

/**
 * 获取内容(按 ID)
 */
router.get('/goldPosts/:postId', goldPostsController.goldPostsDetail);

/**
 * 获取产品(按 ID)
 */
router.get('/goldProduct/:postId', userGuard, goldPostsController.goldProductDetail);

/**
 * 创建内容
 */
router.post('/goldPosts', authGuard, goldPostsController.store);

/**
 * 创建产品
 */
router.post('/goldProduct', authGuard, goldPostsController.storeProduct);

/**
 * 更新内容
 */
router.patch('/goldPosts/:postId', authGuard, goldPostsController.update);

/**
 * 删除内容
 */
router.post('/destroyGoldPosts/:postId', authGuard, goldPostsController.destroy);

/**
 * 删除产品
 */
router.post('/destroyGoldProduct/:postId', authGuard, goldPostsController.destroyProduct);

/**
 * 修改状态
 */
router.patch('/goldPostsStatus', authGuard, goldPostsController.status);

/**
 * 上传文件
 */
router.post('/goldPostsFiles', authGuard, fileInterceptor, fileProcessor, goldPostsController.uploads);

/**
 * 文件服务
 */
router.get('/goldPostsFiles/:fileId/serve', authGuard, goldPostsController.serve);

/**
 * 获取文件 ID
 */
router.post('/getGoldProductFilesId', authGuard, goldPostsController.getFileName)

/**
 * 导出路由
 */
export default router;
